#ifndef GAMESTATE_POOL_H
#define GAMESTATE_POOL_H


#include <iostream>
#include <vector>
#include "emulator.hpp"

namespace NES {
	class GameStatePool {
		
	private:
		std::vector<GameState*> m_pool;

	public:
		GameStatePool(int capacity);
		GameState* get(Emulator* emu);
		inline void release(GameState* gs) { m_pool.push_back(gs); }
	};
}

#endif // !EMULATOR_POOL